1. Field of the Invention
The present invention relates to a web browser apparatus and a web browsing method and, more specifically, to a web browser apparatus and a web browsing method for performing an output of information and an input for causing transition to the next information on the client side in the WWW (World Wide Web) that is a system for performing interactive information communication using the Internet, a program and a storage medium.
In particular, the present invention relates to a web browser apparatus and a web browsing method for performing browsing using a physical medium such as paper in the WWW that is a system for performing interactive information communication using the Internet.
2. Related Background Art
Conventionally, a web browser apparatus for outputting information on the client side in the World Wide Web (hereinafter referred to as Web) has been realized by a computer for executing web browser application software.
FIG. 10 is a view showing a configuration of a general web system. In the figure, reference numeral 1001 denotes a browser computer that is a computer mounted with web browser application software. Reference numeral 1002 denotes a web server computer for passing information in response to a request from the browser computer 1001. Reference numeral 1003 denotes the Internet to be a communication path between the browser computer 1001 and the web server computer 1002.
FIG. 10 is for describing a basic configuration of a web system. In fact, a multiplicity of browser computers and web server computers are connected to the Internet and each browser computer can obtain information from an arbitrary web server computer.
FIG. 11 illustrates an example of a user interface of a general web browser. The web browser obtains data (which is referred to as page) written in the HTML (Hypertext Markup Language) from a web server and displays the page. In addition, the web browser receives an input by a user such as an input in a form and a selection of hyperlink and transitions to the next page in accordance with these inputs (that is, obtains and displays another piece of page data).
A form of an area denoted by reference numeral 1101 in FIG. 11 consists of two radio buttons, six check boxes, one submit button and one reset button.
The radio buttons are control objects that can select only one of the buttons forming a group. In this example, circular areas displayed in front of “Departure” and “Arrival” are radio buttons. In this example, the first radio button is selected. When a user clicks the second radio button, it is selected, and the black dot in the first radio button disappears and the black dot is displayed in the second radio button.
The check boxes are control objects, each of which can switch selection/non-selection independently. Each time a user clicks one of the check boxes, a selection/non-selection state is switched. When in the selection state, a check mark is displayed.
The submit button is a control object that is operated by clicking of a user. In this example, the button marked “OK” is the submit button. When the submit button is clicked, the web browser sends data of a form to which the button belongs to a web server. Then, the web browser displays anew a page returned by the web server in response to the transmission.
The reset button is also a control object that is operated by clicking of a user. In this example, the button marked “Cancel” is the reset button. When the reset button is clicked, the web browser returns data of a form to which the button belongs to an initial state. That is, the web browser returns the data to a state before the selection states of the radio button and the check boxes are changed by operation of the user.
In an area denoted by reference numeral 1102 in FIG. 11, two origin anchors to be link origins of the byperlink are displayed. They are “New Tokyo International Airport (Narita)” and “Kansai International Airport (Kanku)”. These origin anchors are underlined and displayed so as to be distinguished from other texts. Here, when a user clicks any of the origin anchors, the web browser tracks the link of the origin anchor and displays anew a page indicated by a destination anchor that is a link destination.
Further, the example of FIG. 11 is in fact only a part of the control objects to be displayed by the general web browser. Besides, the general web browser displays various other control objects, changes an indication of data or interprets a program language such as a script to operate. In addition, a control object for operating the browser itself is often prepared and displayed. For example, a control object, which displays a registered home page or causes a function of returning to a page displayed immediately before the current page is displayed, is often prepared. Here, for simplicity, the control objects are described by an example in which items required for describing basic contents of the present invention are referred to.
FIG. 15 illustrates an example of HTML data that is displayed in the example of display in FIG. 11. The numbers shown in the left outside of the frame are line numbers given for description, which are not included in actual data.
The fifth to the twenty-second lines are form elements that are shown by FORM tags. The above-mentioned two radio buttons, six check boxes, one submit button and one reset button are defined in these elements.
The radio buttons are defined in the seventh and the eight lines. The radio buttons are defined by INPUT tags whose value of a type attribute is radio. In this case, the radio buttons having a same name attribute form one group and only one radio button is selected in the one group. In the tag, values designated by a name attribute and a value attribute are used when form data is sent. This is the same for other control objects in the form. Further, the radio button in which the checked attribute is written is displayed as a selection state from the beginning.
The check boxes are defined in the eleventh to the thirteenth lines and the sixteenth to the eighteenth lines. The check boxes are defined by INPUT tags whose value of the type attribute is checkbox. Further, the radio button in which the checked attribute is written is displayed as the selection state from the beginning.
The submit button is defined in the twentieth line. The submit button is defined by an INPUT tag whose value of the type attribute is submit. Further, the submit button displays a value of a label attribute on the button.
The reset button is defined in the twenty-first line. The reset button is defined by an INPUT tag whose value of the type attribute is rest. Further, the reset button displays a value of the label attribute on the button.
Origin anchors are defined in the twenty-sixth and the twenty-seventh lines. The origin anchors become origin anchors of elements of A tags and, in this example, are displayed with underlines. Values of a href attribute of the tags are URLs identifying the origin anchors.
FIG. 12 illustrates an example of a configuration of a function module of a conventional web browser. In the figure, reference numeral 1201 denotes a URL storing portion for storing a URL indicating a page to be obtained and displayed anew. Reference numeral 1202 denotes a request preparing portion for preparing HTTP request data for obtaining a page to be indicated by the URL stored in the URL storing portion 1201 and an address of a server that is a transmission destination of the request data.
Reference numeral 1203 denotes a request storing portion for storing the request data and the server address prepared in the request preparing portion 1202. Reference numeral 1204 denotes an HTTP communication portion for sending the request data stored in the request storing portion 1203 to a server indicated by the server address stored in the same portion and receiving HTTP response data from the server.
Reference numeral 1205 denotes a response storing portion for storing the HTTP response data received by the HTTP communication portion 1204. Reference numeral 1206 denotes an HTML data analysis portion for taking out and analyzing HTML data if the response data stored in the response storing portion 1205 includes the HTML data.
Reference numeral 1207 denotes an analysis result storing portion for storing an analysis result analyzed by the HTML data analysis portion 1206. Reference numeral 1208 denotes a display data preparing portion for preparing display data defining a display layout of each element from the analysis result of the HTML data stored in the analysis result storing portion 1207.
Reference numeral 1209 denotes a display data storing portion for storing the display data prepared by the display data preparing portion 1208. Reference numeral 1210 denotes a display portion for performing display on a display in accordance with the display data stored in the display data storing portion 1209.
Reference numeral 1211 denotes an operation input portion for inputting an operation by a keyboard or a mouse. Reference numeral 1212 denotes an input interpretation portion for comparing the input by the operation input portion with the display data stored in the display data storing portion 1209 to determine processing with respect to the input.
Reference numeral 1213 denotes a display data updating portion for updating the display data stored in the display data storing portion 1209 in accordance with the input when it is interpreted by the input interpretation portion 1212 that the processing with respect to the input is updating processing of the display data.
Reference numeral 1214 denotes a new URL decision portion for referring to the display data stored in the display data storing portion 1209 to decide a new URL indicating a new page to shift to in accordance with the input and performing processing for storing the new URL in the URL storing portion 1201 anew when it is determined by the input interpretation portion 1212 that the processing with respect to the input is processing for shifting to a new page.
FIG. 9 is a view showing a specific configuration of a browser computer. In the figure, reference numberal 901 denotes a computer main body, which realizes processing to be described later. Reference numeral 902 denotes a display, which realize the display portion 1210. Reference numberal 903 denotes a keyboard and 904 denotes a mouse, which realize the operation input portion 1211.
Processing procedures in the case in which the conventional web browser is realized by software will be hereinafter described based on flow charts shown in FIGS. 13 and 14.
FIG. 13 is a flow chart showing processing procedures of page obtaining and displaying processing for obtaining and displaying a page indicated by a URL stored in a URL storing portion when URL data is stored in the URL storing portion. Here, new URL data is stored in the URL storing portion in the following two cases. 1) A specified URL data set in advance is stored when a browser apparatus is activated. 2) URL data indicating a new page is stored as a processing result of the new URL decision portion 1214. Only these two cases will be described concerning the conventional web browser. However, the processing for shifting to the next page is performed in the case in which a user directly inputs URL data by a keyboard or the like, the case in which a user instructs to display a page that was displayed in the past again, the case in which a user selects a registered page, the case in which there is a description for automatically shifting to another page in a displayed page, or the like. For simplicity of description, the processing for shifting to the next page is limited to the above-mentioned two cases.
When URL data is stored in the URL storing portion 1201, the following each portion is extracted from the URL data first in step 1301. 1) a schemer portion indicating means for obtaining a page, 2) a host portion indicating a host name of a web server storing a page, 3) a port portion indicating a port of a web server storing a page, 4) a path portion indicating a position of a page in the web server and 5) a query portion indicating inquiry data in the case in which a form input or the like is performed. For example, if a URL is http://asample.co.jp/haneda.html, the schemer portion is http, the host portion is asample.co.jp, the port portion is 80 (since it is omitted in this URL, a default value is used), the path portion is haneda.html and the query portion is empty.
When each portion is extracted, the processing shifts to step 1302. Further, although an actual browser often processes schemers other than http, it is assumed here that the browser handles only http for simplicity of description here. In step 1302, HTTP request data is prepared using a value of each portion extracted in step 1301. Then, the processing shifts to step 1303.
FIG. 16 illustrates HTTP request data with respect to the above-mentioned example. Although data identifying a web browser, data indicating a receivable data type and the like are actually added to an HTTP request, only minimum required data is shown here for simplicity of description.
In step 1303, the HTTP request data prepared in step 1302 is sent. More specifically, a TCP/IP connection is established with respect to a port indicated by a value of the above-mentioned port portion of a server indicated by a value of the above-mentioned server portion and the above-mentioned HTTP request data is sent. Then, the processing shifts to step 1304.
In step 1304, an HTTP response is received from the server to which the HTTP request was sent in step 1303. The response is sent through the TCP/IP connection established in step 1303. This HTTP response data is stored in the response storing portion 1205. Then, the processing shifts to step 1305.
FIG. 17 illustrates an example of the HTTP response data. The header of this response data indicates that an MIME type of a body portion (data of an empty line and below) is text/html and the length of the data is 924 byte. Although data such as identification data of a web server and time data for preparing data are often further included in the header portion actually, such data is omitted here for simplicity of description. In addition, although an actual web browser can often handle data other than data whose MIME type is text/html, since it is a main purpose of the present invention to handle HTML data in a web browser, a data type to be handled is limited to text/html for simplicity of description.
In step 1305, HTML data that is a body of the HTTP response received in step 1304 is analyzed to obtain tag elements in the HTML and a hierarchical relation among the tag elements. Then, the processing shifts to step 1306.
In step 1306, a layout of texts and control objects indicated by the tag elements is arranged using a result analyzed in step 1305 to prepare display data. An example of the layout is as described in FIG. 11. The prepared display data is displayed on the display portion 1210. Then, the page obtaining and displaying processing is finished.
FIG. 14 is a flow chart showing processing procedures of invent processing when an operation of a user is applied using the operation input portion 1211. It is assumed here that only the case in which a control object on the display portion 1210 is clicked by a mouse as an operation event of the user for simplicity of description.
In step 1401, a control object clicked by the user is obtained. This is realized through an operating system of a computer. Then, the processing shifts to step 1402. In step 1402, it is determined whether or not the control object clicked by the user is a submit button. If it is a submit button, the processing shifts to step 1405. If it is not a submit button, the processing shifts to step 1403.
In step 1403, it is determined whether or not the control object clicked by the user is an anchor. If it is an anchor, the processing shifts to step 1406. If it is not an anchor, the processing shifts to step 1404. In step 1404, a selection state of the control object clicked by the user is changed. If the control object is a check box, a state of selection/non-selection is switched. If it is a radio button, the radio button is made to be in a selection state and other radio buttons forming a same group is made to be in a non-selection state. Then, the event processing is finished.
In step 1405, a query is prepared with reference to a selection state of each control object in a form element in which a submit button is included. Then, the processing shifts to step 1406. The query is a character string in which a value of a name attribute and a value of a value attribute of a tag corresponding to a selected control object are listed. The value of the name attribute and the value of the value attribute of the tag are connected by “=”, and groups of connected values are connected by “&”. Further, if a tag does not have a value attribute, “on” is used in stead of a value attribute. For example, a query in the case in which a selection state is as shown in FIG. 18 when the HTML data of FIG. 15 is displayed is as follows::    “direction=dep&airline=ABCair&airline=airDEF&afternoon=on&night=on”.
In step 1406, a URL of a page that should be obtained and displayed anew is prepared and stored in the URL storing portion 1201. Then, the processing shifts to step 1407. If a control object is a submit button, a URL to be prepared is a URL in which the query prepared in step 1405 added with “?” is given to a value of an action attribute in a FORM tag of a form including the submit button. If this value is a relative path, it is interpreted as a relative value from a URL of a currently displayed page and is converted to an absolute path. In the case of the above-mentioned example, the URL to be prepared is “http://asample.co.jp/cgi/sample?direction=dep&airline=ABCair&airline=airDEF&afternoon=on&night=on”.
If a control object is an anchor, a value of a href attribute of an A tag indicating an anchor is a URL. If this value is a relative path, the processing is the same as described above. For example, a URL to be prepared when an upper anchor is selected out of two anchors in FIG. 18 is as follows:    “http://asample.co.jp/narita.html”.
Further, if a value other than “get” (e.g., “post”) is designated in a method attribute of the FORM tag, processing for not including a query in a URL and inserting an HTTP request in a body, or the like, is required. However, only the case in which the method attribute is “get” is discussed here for simplicity of description.
In step 1407, updating processing of a page is performed. The aforementioned page obtaining and displaying processing is performed for the update of a page. Then, the event processing is finished.
The conventional example of a web browser that is realized as software on a computer has been described.
There is also a web browser apparatus other than that utilizing a graphical user interface of a computer as in the above-mentioned conventional example. For example, there is a web browser apparatus called a voice browser that composes contents of HTML data as voices to output them with voices, inputs a form and selection of an anchor with voices and recognizes voices to update a page.
In addition, there have been proposed several apparatuses that access a web using a facsimile device. Since these apparatuses cannot input a form or select an anchor with respect to an arbitrary page as a browser appapratus by a graphical user interface does, they are not a perfect web browser apparatus. However, such apparatuses will be described because they relate to the present invention.
As such apparatuses, there are an acting apparatus for obtaining homepage information of the Internet in an acting method for obtaining homepage information of the Internet and an apparatus disclosed in Japanese Patent Laid-open No. 11-112769 and a facsimile server apparatus in a facsimile server, a data obtaining method and a format sheet disclosed in Japanese Patent Laid-open No. 11-191823. In these apparatuses, a sheet on which a URL is written is sent to a facsimile server using a facsimile device, the facsimile server receives URL data by character recognition and obtains HTML data indicated by the URL and returns a layout result to the facsimile device.
In addition, an information collecting system in a method of collecting information and a system for collecting information by a facsimile disclosed in Japanese Patent Laid-open No. 11-234452 has a configuration close to the above. However, it is different in that it inputs a number associated to a URL in advance by a tone button of a facsimile device and sends it as a tone signal and a facsimile server converts the received number into the URL rather than sending a sheet on which the URL is written.
In addition, a WWW retrieving apparatus in a WWW retrieving apparatus utilizing a facsimile terminal and an image database apparatus that have a script interpretation executing function disclosed in Japanese Patent Laid-open No. 10-240638 has a unique script embedded in HTML data, whereby it can execute form input by a tone button.
As in the above-mentioned conventional example, in the web browser apparatus utilizing a graphical user interface, it is necessary to directly operate a browser apparatus such as a PC in order to perform so-called browsing for inspecting a web page and updating a page by form input and anchor selection. Thus, if an environment does not allow to use the browser apparatus, the browsing cannot be performed. For example, if a browser apparatus using a desktop PC is utilized, it takes time until the PC can be used if the PC is not activated.
In addition, since it is difficult to carry a browser apparatus with a large screen during travelling, a browser apparatus with a small screen is often carried. However, a page to be displayed becomes small and operation becomes complicated in this case. Further, since it takes time to be master operation of a graphical user interface, it is difficult for a beginner to use the browser apparatus.
In the conventional voice browser apparatus, although it is unnecessary to master operation of a graphical user interface, an mount of information to be obtained is reduced compared with inspection of displayed data. In addition, it is a burden to input a form and select an anchor by voices.
In addition, although a browser apparatus by a graphical user interface and mastering operation of the interface is unnecessary in an apparatus for accessing a web by character recognition or tone input by using a facsimile device, since a form cannot be inputted and an anchor cannot be selected, a perfect browsing cannot be performed. In addition, if a number is designated by tone input, only a page whose number is set in advance can be processed and browsing of an arbitrary page cannot be performed. Further, since it is necessary to perform tone input, operation of the apparatus tends to be complicated. On the other hand, if a URL is recognized by characters, browsing such as form input and anchor selection cannot be performed, and it is a burden to manually write a URL every time.